{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### 准货币资金"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from analysis import ANALYSIS_CONFIGS\n",
    "from analysis.analysis import FinancialAnalysis\n",
    "from analysis.doc_utils import ReportDocument"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['all_analysis.json',\n",
       " 'asset_quality_analysis.json',\n",
       " 'asset_indepth_analysis.json',\n",
       " 'asset_fraud_analysis.json',\n",
       " 'profit_analysis.json',\n",
       " 'cash_flow_analysis.json']"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ANALYSIS_CONFIGS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "ana = FinancialAnalysis(ANALYSIS_CONFIGS[1])\n",
    "images, titles, fields = ana.images, ana.titles, ana.fields"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>货币资金(元)</th>\n",
       "      <td>3,448,409,300</td>\n",
       "      <td>2,581,883,300</td>\n",
       "      <td>2,196,706,800</td>\n",
       "      <td>4,054,121,700</td>\n",
       "      <td>3,921,052,700</td>\n",
       "      <td>3,802,201,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>交易性金融资产(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1,360,000,000</td>\n",
       "      <td>2,352,000,000</td>\n",
       "      <td>2,872,312,500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其他流动资产里的理财产品</th>\n",
       "      <td>0</td>\n",
       "      <td>1,500,000,000</td>\n",
       "      <td>2,570,000,000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其他流动资产里的结构性存款</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>准货币资金</th>\n",
       "      <td>3,448,409,300</td>\n",
       "      <td>4,081,883,300</td>\n",
       "      <td>4,766,706,800</td>\n",
       "      <td>5,414,121,700</td>\n",
       "      <td>6,273,052,700</td>\n",
       "      <td>6,674,513,800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>准货币资金占总资产的比率</th>\n",
       "      <td>53.75%</td>\n",
       "      <td>51.50%</td>\n",
       "      <td>50.41%</td>\n",
       "      <td>50.83%</td>\n",
       "      <td>50.36%</td>\n",
       "      <td>48.00%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        2016           2017           2018            2019  \\\n",
       "货币资金(元)        3,448,409,300  2,581,883,300  2,196,706,800   4,054,121,700   \n",
       "交易性金融资产(元)                 0              0              0   1,360,000,000   \n",
       "其他流动资产里的理财产品               0  1,500,000,000  2,570,000,000               0   \n",
       "其他流动资产里的结构性存款              0              0              0               0   \n",
       "准货币资金          3,448,409,300  4,081,883,300  4,766,706,800   5,414,121,700   \n",
       "资产合计(元)        6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "准货币资金占总资产的比率          53.75%         51.50%         50.41%          50.83%   \n",
       "\n",
       "                         2020            2021  \n",
       "货币资金(元)         3,921,052,700   3,802,201,300  \n",
       "交易性金融资产(元)      2,352,000,000   2,872,312,500  \n",
       "其他流动资产里的理财产品                0               0  \n",
       "其他流动资产里的结构性存款               0               0  \n",
       "准货币资金           6,273,052,700   6,674,513,800  \n",
       "资产合计(元)        12,457,568,300  13,906,035,200  \n",
       "准货币资金占总资产的比率           50.36%          48.00%  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t1 = ana.init_table('t1')\n",
    "t1['准货币资金'] = t1.T[:4].sum()\n",
    "t1['准货币资金占总资产的比率'] = t1['准货币资金'] / t1['资产合计(元)']\n",
    "\n",
    "ana.format_show_table('t1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2089496af60>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ana.show_plot('t1')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 应收账款、合同资产"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>应收账款(元)</th>\n",
       "      <td>331,595,200</td>\n",
       "      <td>371,167,700</td>\n",
       "      <td>446,773,100</td>\n",
       "      <td>725,630,900</td>\n",
       "      <td>1,008,235,900</td>\n",
       "      <td>1,597,692,900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>合同资产(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应收账款加合同资产</th>\n",
       "      <td>331,595,200</td>\n",
       "      <td>371,167,700</td>\n",
       "      <td>446,773,100</td>\n",
       "      <td>725,630,900</td>\n",
       "      <td>1,008,235,900</td>\n",
       "      <td>1,597,692,900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>应收账款与合同资产占总资产的比率</th>\n",
       "      <td>5.17%</td>\n",
       "      <td>4.68%</td>\n",
       "      <td>4.73%</td>\n",
       "      <td>6.81%</td>\n",
       "      <td>8.09%</td>\n",
       "      <td>11.49%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           2016           2017           2018            2019  \\\n",
       "应收账款(元)             331,595,200    371,167,700    446,773,100     725,630,900   \n",
       "合同资产(元)                       0              0              0               0   \n",
       "应收账款加合同资产           331,595,200    371,167,700    446,773,100     725,630,900   \n",
       "资产合计(元)           6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "应收账款与合同资产占总资产的比率          5.17%          4.68%          4.73%           6.81%   \n",
       "\n",
       "                            2020            2021  \n",
       "应收账款(元)            1,008,235,900   1,597,692,900  \n",
       "合同资产(元)                        0               0  \n",
       "应收账款加合同资产          1,008,235,900   1,597,692,900  \n",
       "资产合计(元)           12,457,568,300  13,906,035,200  \n",
       "应收账款与合同资产占总资产的比率           8.09%          11.49%  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t2 = ana.init_table('t2')\n",
    "t2['应收账款加合同资产'] = t2.T[:2].sum()\n",
    "t2['应收账款与合同资产占总资产的比率'] = t2['应收账款加合同资产'] / t2['资产合计(元)']\n",
    "\n",
    "ana.format_show_table('t2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAEGCAYAAABsLkJ6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAG35JREFUeJzt3Xm8XGV9x/HPlywsYUlorqGUJSwBxaqBXkAs2MTKUllUaAVlEZQGK1uttYYCDdqURSC2Ilhi0FJEDVBRMCxhkVWBXCAiDaBEg0GaF5clELYQkl//eM7VyWQmd+bMvTNJnu/79bqvzDnznPM8z9zc53vOc87MKCIwM7P8rNfpBpiZWWc4AMzMMuUAMDPLlAPAzCxTDgAzs0w5AMzMMuUAyJykDSUN63Q7ypC0aafbkBtJqrFuaCfaYq1zAKxjJG0r6YR+ytwq6Z3F4lHATU3s/w5JO/dT5seS/qxi+Z2SvlSn7PskndFo/VWuk/S5ktvWasuekkZXLO8raWoT2+8saf8myvdImtBAueFVy111yrWj/e+VdEvVujsl7dZgHW9K2qDBslMkHdVIWSvHyb3ueRO4UNLMiFgsaQgwrPh5d0TcC7wBLC3KHwp8o9aOJL0OPFEsvj0iNqjcVtKngGERcamkPwH+A3gLeA8wVdIrpHDZBBhevf++/QJ/XKf+9Yr9L63x3N8DzwKHSrozIh6qUeaXwKZFm2oZArwaETsWy2OByyVNBm4v+rOJpAMqtvlBRJxdUcfwiHizWNwBOBu4uXhOwPBa7S9sRT9/g8Xv735Jn4yIR4rVsySdHhHVA3E72v8u4N6K7UcCo4GHa7T9m8BPI+LbFavfBJbV6etlwDhgRbFqa2AjSccXy0OA5yLio7W2t+Y5ANZyksYCPwd+UbF6LvDj4mx9KBDAp4DzgfdVbfsBYEwxaIwoyk6PiH8HngY+CmwM/E9VvX8OnAZ8sFj1HPDPwGvApcA04CngdeAq4DeSzirKzo6InxaP/wQ4UNKeNbq3HvAb4LCquv8a+HjR9tHA9ZI+GxH3VG2/DJgAzI+IZVX7GEoagH/Uty4iZkq6B3gbcDHwn8CdwIkRMUnS/RSDY7GP4cCDkt4sXjeAtyT1FG2P4nVZ3VH1tyS9Vtk04FsRcV7RpuWSTgNOBv5W0o6Aagz+g95+SdcDuwOvS/oIMJUUsCOBXxX/37aIiI2LfdUa7N+KiOXF/rYH/iwiri6e+zfgtYhYJGknYAawL7BeRLxenLUuX81rac2KCP+sxT+ko767qtYNq1FuR+CO4vGPi+VLgNOLdesBv6na5gngWNLA/nix7ibgSOB/gZ2qyl8L3AP8FrgfeAj4y6LsQcVPD7BPxTbfAj7SYF+HAF8o9j26qm8PA18lDUB96x8lnWHMBx6v+pkP7ALMrapjh6K/w4vlqcBCYOe+dTXaNR64u+91L9r5BDC+n/4sAj5Yta7vrKdv+Q5gTvG6Vv78Eji/xj4Hrf3APGBkxX6PIwXMzhVl5lc8/jpwVNU+FpMONE4jHWB8seK5o0kHL9sDNwB7k4JvJunM4H+Bj3f6b25d+vEZwLqh75QZSUeTBoGziuVvAT8gDXqV3k4anFdI+h7paO2ZqjJ9R4Urin31/X95Hfgw8OviAvLyiFhBmj4YWrHd+qSj9H8slu8iDRo/q6hjHLCgvw5K2gG4hjTwPQF8V1Jfv0UaKIN0JLpXRDz6+05E7FBnn2OrlncEfgh8FthA0omko9+/Ip0pzJR0A/CLiPj9UXtEzJW0ENiTNDgfTgrMucUUzoooRrj+FK/jiopVbwLHRsSCqrYeS3rt2tn+ynYB/EXaPJ6oWFdd5muSziOdRZ5UrHsE+B5pSvKFinZcUUzb7QNsCVwI9BbteTswKdIUpg0QB8Dabz3gTUlfJR2BXwvMLZZfAQ4Gvsyqv+slpMH4I6Q/5OdIR+zV+x5K+qMWaXB5H7AN6czjyeL5j5GOtncmTQn0ld84IqYASHoW2DEiDlu5CpYAM2rcXAJpELg0Ir5EConJEXFzxUXQvkFVpEHqeUnnRERv5U4kjSMdRfYNTuuRppWiosx6pEFpMilkbgFmkY7QX5L0F8CnSddLjgN+Lmmb4jX4dbGblfoh6XHS0fQBpDOOMoYDNxTTNJU2L/rUyfY/UGxzWUR8ulhXHQCnRMR3KvZ5EWngf7V6Z5I2IQ32VwH/DuwFfAn4CfA54Nxiqu8X1dtaOQ6Atd8o4FXgatIpdzdpYDiV9IfzUEQskLQLsL6kvUnz7r+LiCclBemP7NfAjVX7FvBHpNP29SLiIEk3AZ8BpgNH9B3BKd31czIrz/kOlfQU6frBKNLF4JcrK4iID9XrmKRLgF8V5ZYDNyvdMfSROuW/FhH/XeOpocALEfHBotytpLnk398FFxErJO1Dmh7bmnSWcyjpInNfsS0j4m1Vr8+8iBhfrw9V7TuK9Lr9tli1GPh6xf53JA2O8yraNaFi+3fVG/za0f7C3ZKWA1uQAvkeSRdI2j8ibu5v46KttQb/IaRpqEtIZzafJ11P+i/SdaCPkqb/jif937YB4ABY+20FPBURPy1O4z8KfBPYjTSn2ncHRjdpYDiclQe+n0namjRtdErVvocBY0gXmIdq5cP0n5KmFq4slh8BTgf+j3TqPoV02n8vaWrhZdKAdBFAUeecYn31UeMGpCPZbYHvVD23JTA1In5YubK4wPxHNV4fqP3/fBhVFxQj4g1JS4HDi+mPT5LuOplV1PG7qn10kc6cGvUG8EDloF5J0iLSoNe3vC/ptdkeuI90BHx1RPxXMSU2GTihmDZqR/shXb9ZrJVvL70QOEbSnaSzzlp9G0K6WFyPgIkR8WKxfEVRxyLSTQUrIl0Qf1DS0Iiod2eXNcHvA1j7vZt0yg9pDn67Yr54NukOimuL564Eto2Ik0kXBQEopgGGkwanjar2/SHSfOwbpAt9lfPY1wCnFn/YkKZTzicFBqSj/RnFv/9EunB8jKQtASJiYURsERE7RcTbq37GRsT3SUfEC6raVB0WlerNsy8DRkuaK2ku6c6hev/3K8Pi74AlSre41tp/N/DgatrTqiNJv5s9SYP135Km2yCdsW3EqrfwdqL915LuMtuMqjM8AEmHkA4QDq7x3MckbQQcSJrquqPvh3QAcyppOuu2Yt3twF8PQJsNnwGsCw4Avqh0P/f9pDtkIN0m+T8RsbS43W9ZxQAuAKU3/UwHLiAdud0n6Wzg6oh4nXSXzP+R/jhPkPRx0pzwJOAx0u2nl0maRLr3/27StMZWpJA5lXT9Yf2IuKm4YHybpI/Vm8ooBoO/JL03YHRR/0pFgAu06pvHtgS+UqMsEfE46U6X6rpqvaHtn4AXJV1MmveeW7wuzwH/LGn94jUdSpryOq5WP1Zjj2JuvZbKN3GNACYCJ1AMnBHxDCmUIV3YPxE4W9LIiFjchvYPY+UpoDOL9StIY8kBpGsKfXYCPkG68+v44mzzQklbRLrVcwfSGd6WEfEjKm7JLV6DqcCiiPh6E220JjgA1mKS9iBNk2wELJS0yhtsJB1BuhvnPfzhLp/hpIA4HjguIm4vyi4gHcX/pjiyP490F89CUlBsR7p+8AzpPv/vF/9uFxFzgDmSTib9IT9Jeh/AgaRpJyLi+mKArzlNUJR5TdLHSGcdh9a4e2YY8I91poCqP9Jis3r1SNqPdNH02xXrziad8WxIuof+sqL+XYprJ6eTjj4PIR2dPh4RD9Sro4b16X8KaESxOBT4h2Kw/hXp/QJPF89tRBoYnyHdptuu9p8PXFG06T2k6wyQzvouJk1Tfb6i/PeBaRFR+U7zS4Hbi4vWK4AzI6LeNFTfGxhtkKjBu9NsDVQMpntGxE9Kbl/5LtDq5zYB/jgiflm1fvRq/mDXGpJUHS7FGcGSYmCtt92Gkd6UNATYMCLqhlm7re3tt/ZzAJiZZcoXgc3MMrVGXwMYPXp0jB07ttPNMDNbqzz44IPPRUTNT42ttEYHwNixY+np6el0M8zM1irFGzD75SkgM7NMOQDMzDLlADAzy5QDwMwsUw4AM7NMdSwAik+DNDOzDmkoACSNkXR3xfI7JP2on232lvRk8cl+txXrzpF0c/GxwhNbarmZmbWk3/cBSBoFXE7xIVXFJ/idT/qs99XZAzg5Iiq/ZKSL9K1Tu/KHL8UwM7MOaOQMYDnp0xz7Pud7Cenr9PrzXuBMSQ9L6vsuUJFC5/2kL5M2M7MO6fcMICJeBuj7MqiIeLZyeTW+Tfoih6HAg0pfPP4o6Xs+FwJ3SZoUEY9VblR8tvwkgG222aaJrpiZDZ6xk2e1tb4F5x446HUM5kXg2yPirYh4A3gCGBsRXwWuIH3t3Q9InxW/koiYHhHdEdHd1dXvR1mYmVlJgxIAxUXeeyRtLGkMac6/75uCRpKmkZYOVv1mZta/AfkwOEmfAN6MiGsAIiIkXQg8TPr2py9ExEuSdiJ9jeAS4AYqvs3IzMzaq+EAqP4au8rliPhujfLfJ30lXOW6ym+XekejdZuZ2cDzFIyZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpapjgSApDGShnWibjMzS5oOAEnbSZol6W5JF9YpM0rSDZJ6JF1arDtJ0hxJI4D9I2JZi203M7MWlDkDOA/414jYB9hK0oQaZY4GroyIbmATSd3AeGAGsDvwasn2mpnZACkTADsBDxWPnwU2q1HmeeBPJY0EtgYWAgKGAfsBN5ao18zMBlCZALgGmCLpYOAA4LYaZe4BtgVOAR4DXgBmAwcBTwPXSZpYa+eSJhVTRz29vb0lmmdmZo1oOgAiYirpCP544PKIeKVGsSnAZyLiy8DjwHERMRM4C1gMzAIOq7P/6RHRHRHdXV1dzTbPzMwaVPYuoLnANsC0Os+PAt4laQiwJxDF+nHAfGBpC3WbmdkAKDsIfwGYFhGvSdpF0tSq588BpgMvAZsD35O0KbAImAdMAm4tWbeZmQ2AoWU2iogpFY/nAWdUPf8A8M4am95S/Du+TL1mZjZwPA1jZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpapjgSApDGShnWibjMzS5oOAEmjJN0gqUfSpXXKbCbpRkmzJV0rabikkyTNkTQC2D8ilrXcejMzK63MGcDRwJUR0Q1sIqm7RpkjgWkRsR+wCDgAGA/MAHYHXi3ZXjMzGyBDS2zzPPCnkkYCWwMLqwtExCUVi13As4CAYcB+wNQS9ZqZ2QAqcwZwD7AtcArwGPBCvYKS9gJGRcR9wGzgIOBp4DpJE+tsM6mYXurp7e0t0TwzM2tEmQCYAnwmIr4MPA4cV6uQpM2Bi4BPAUTETOAsYDEwCzis1nYRMT0iuiOiu6urq0TzzMysEWWmgEYB75J0H7AncGt1AUnDgauB0yLiqYqnxgG/BEbiW1DN1jljJ89qW10Lzj2wbXWtq8oMwucA04GXgM2B+yVVz+l/GtgNOF3SHZIOl7Qp6YLwPGASNYLDzMzap+kzgIh4AHhn1epHqsp8A/hGjc1vKf4d32y9ZmY2sDwNY2aWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZarpL4U3s/LGTp7V1voWnHtgW+uztUtHzgAkjZE0rBN1m5lZUjoAJF0i6eBGy0g6SdIcSSOA/SNiWdm6zcysdaUCQNI+wBYRcX0TZcYDM4DdgVfL1GtmZgOn6QAopm6+CSyQ9OEmyggYBuwH3Lia/U+S1COpp7e3t9nmmZlZg8qcARwDzAO+Auwh6eQGy8wGDgKeBq6TNLHWziNiekR0R0R3V1dXieaZmVkjygTArsD0iFgEfAeoNZCvUiYiZgJnAYuBWcBhpVpsZmYDokwAPAlsXzzuBp5qosw4YD6wtGTdZmY2QMoMwpcBEyXdBXwWuEbS1H7KXCBpU2ARaWpoEnBr+WabmVmrmn4jWEQsAf6mavW9DZQBuKX4d3yz9ZqZ2cDyNIyZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpYpB4CZWaYcAGZmmXIAmJllygFgZpappr8UfiBIGgO8EBHLBquOsZNnDdaua1pw7oFtrc/MrFWlzwAkjZH0cJ3ntpM0S9Ldki4s1p0kaY6kEcD+gzn4m5lZ/1qZAroA2LDOc+cB/xoR+wBbSZoAjAdmALsDr7ZQr5mZDYBSASDpA6RBfFGdIjsBDxWPnwU2AwQMA/YDbixTr5mZDZymA0DScOBMYPJqil0DTJF0MHAAcBswGzgIeBq4TtLEOvufJKlHUk9vb2+zzTMzswaVOQOYDFwSEYvrFYiIqaSj/OOByyPilYiYCZwFLAZmAYfV2XZ6RHRHRHdXV1eJ5pmZWSPKBMAHgRMl3QGMlzSjTrm5wDbAtIp144D5wNKSdZuZ2QBpehCOiPdHxISImEAa5KdJmlqj6BeAaRHxGoCkTUnXDOYBk4BbS7fazMxa1tL7AIoQADijxnNTqpZfBm4pFse3Uq+1930O7X6Pg9/DYdYenoYxM8uUA8DMLFMOADOzTDkAzMwy5QAwM8uUA8DMLFMOADOzTDkAzMwy5QAwM8uUA8DMLFMOADOzTDkAzMwy5QAwM8uUA8DMLFMOADOzTDkAzMwy5QAwM8uUA8DMLFMOADOzTDkAzMwy5QAwM8tUqQCQtLmkfSWNLlNG0hhJw8rUbWZmA6PpAJA0CvgxsAfwE0ldjZSRdJKkOZJGAPtHxLIW225mZi0YWmKbdwP/EBH3FQP9bsDNDZQZD8wAdgdebaHNZmY2AJo+A4iIO4uB/f2kI/yfNVhGwDBgP+DG1pptZmatKnsNQMDhwItAzamcGmVmAwcBTwPXSZpYZ7tJknok9fT29pZpnpmZNaBUAERyIvAIcEgjZSJiJnAWsBiYBRxWZ7vpEdEdEd1dXatcXjAzswFS5iLwFyUdUyyOJA3ojZYZB8wHlpap28zMBk6ZQXg6cLSku4AhwNOSpvZTZrakTYFFwDxgEnBr+WabmVmrmr4LKCJeBPatWn1GA2VeBm4pHo9vtl4zMxtYnoYxM8uUA8DMLFMOADOzTDkAzMwy5QAwM8uUA8DMLFMOADOzTDkAzMwy5QAwM8uUA8DMLFMOADOzTDkAzMwy5QAwM8uUA8DMLFMOADOzTDkAzMwy5QAwM8uUA8DMLFMOADOzTDkAzMwy1bEAkLR1p+o2M7MWAkDSGEl3N1Dueknji8fnSLpZkoCJZes2M7PWlQoASaOAy4ER/ZQ7EpgfEXOLVV3AQ8CuwG/L1G1mZgOj7BnAcuBw4OV6BSRtDlwIvCip72hfwFDg/cCdJes2M7MBUCoAIuLliHipn2KfA64GLgWOkXQI8CiwLbACuEvSO6o3kjRJUo+knt7e3jLNMzOzBgzmReBdgYsjYhFwFTAhIr4KXAG8BvwAOLB6o4iYHhHdEdHd1dU1iM0zM8vbYAbAk8D2xeNu4Kni8UhgCbB0kOs3M7PVGDoQO5H0AWCXiPh6xeqvADMknU464j9U0k7Az0kBcANw7EDUb2ZmzWspACJiQvHv7cDtVc89A3yoapMlFY9Xmf83M7P28RSMmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZplyAJiZZcoBYGaWKQeAmVmmHABmZpnqSABIGiNpWCfqNjOzpFQASLpM0s8kndFoGUknSZojaQSwf0QsK9lmMzMbAE0HgKRDgSERsRewvaRxDZYZD8wAdgdeba3ZZmbWKkVEcxtIXwNuiogbJB0BbBgR3+6vDLA38DCwJTA1Il6rs/9JwKRicWfgiaYa2LrRwHNtrrNd1uW+wbrdP/dt7dWJ/m0bEV39FRpaYscjgN8Vj18AdmuwzGzgOOA64DpJ/xYRP6neMCKmA9NLtGtASOqJiO5O1T+Y1uW+wbrdP/dt7bUm969MALxCOqIH2Jja00irlImImZKeArYHZgGHAasEgJmZtUeZi8APkqZzAN4DLGiizDhgPrC0ZN1mZjZAypwB/BC4W9KWwF8BR0iaGhFnrKbMeyVtCiwC5gGXAl9uremDpmPTT22wLvcN1u3+uW9rrzW2f01fBAaQNArYF7grIhaVLWNmZp1TKgDMzGzt53l4M7NMZRUAkjaTdKOk2ZKulTS81ruai4+quLvG9tdLGt/eVjembN8kfUnSHcXP45JO60wP6muhb9tLuk3SXElndqb1/Wuhf7tJulXSvZI+35nWr14jfatVpljf7ycOdFKLfas5xrRbVgEAHAlMi4j9SBekj6DqHcvFtYvLSe9l+D1JRwLzI2JuuxvdoFJ9i4gpETEhIiYAjwL/3f6m96vs7+0k4F8iYjywv6R+3xjTIWX7dxHpvTV7A4dJ2q7N7W5Ev32rUeaARj5xYA1Qtm81x5hOyCoAIuKSiLilWOwCjgKuKpZnk/6QlgOHAy/3bSdpc+BC4EVJE9vX4saV7VsfSbsDT0fE76qf67QW+vY88G5JY4D1gcXtaXFzWujf5hGxMNKFvOeBTdvU5IY10rcaZZ4FJlSXa0+LG9dC3+r+HbZbVgHQR9JewChgISu/Y3lMRLwcES9VbfI54GrS7avHSDqkbY1tUom+9TmVdES5xirRt5uA9wKnALcDb7WrrWWU6N+9Sh+y+AlgLPBI2xrbpNX1rbpMRNzHqp8mMIY1VLN96+fvsK2yC4DiaP4i4FM09q5mgF2Bi4vbWa8iHZ2scUr2DUkjgbdFxPxBb2RJJfs2GTg2Ik4vyu872O0sq2T/TgAeJ011nRdr6C19jfStqgz1yq1pSvZtjbFGvqiDpbgAczVwWkQ8RWPvagZ4kvQRFgDdwFOD2MxSWugbwIeBGwa1gS1ooW/bAVtL2oD0eVRr6gBZqn8RsZw/fFjilYPczFIa6VuNMtQq17ZGN6iFvq05IiKbH+DvgBeBO4qfTwI/B6YBjwGbVZS9o+LxlqQB8l7gFmCTTvdloPpWLH8X2K3TfRiE39uBwK+BJcD3SBfoOt6fAf7dXQ7s0+k+tNK3GmUOJ13PqPkarCk/ZftW73fZiZ/s3wimdfgdy+7b2mtd7l+jfVsbX4O1rc3ZB4CZWa6yugZgZmZ/4AAwM8uUA8DMLFMOADOzTDkAzMwy9f9CZj6jbZ1dVAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2089f7cce10>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ana.show_plot('t2')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 预付款项"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>预付款项(元)</th>\n",
       "      <td>32,828,400</td>\n",
       "      <td>58,386,100</td>\n",
       "      <td>59,485,900</td>\n",
       "      <td>50,113,500</td>\n",
       "      <td>69,889,400</td>\n",
       "      <td>131,162,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>预付款项占总资产的比率</th>\n",
       "      <td>0.51%</td>\n",
       "      <td>0.74%</td>\n",
       "      <td>0.63%</td>\n",
       "      <td>0.47%</td>\n",
       "      <td>0.56%</td>\n",
       "      <td>0.94%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                      2016           2017           2018            2019  \\\n",
       "预付款项(元)         32,828,400     58,386,100     59,485,900      50,113,500   \n",
       "资产合计(元)      6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "预付款项占总资产的比率          0.51%          0.74%          0.63%           0.47%   \n",
       "\n",
       "                       2020            2021  \n",
       "预付款项(元)          69,889,400     131,162,000  \n",
       "资产合计(元)      12,457,568,300  13,906,035,200  \n",
       "预付款项占总资产的比率           0.56%           0.94%  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t3 = ana.init_table('t3')\n",
    "t3['预付款项占总资产的比率'] = t3['预付款项(元)'] / t3['资产合计(元)']\n",
    "\n",
    "ana.format_show_table('t3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x208a29bea58>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ana.show_plot('t3')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 固定资产、在建工程"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>固定资产合计(元)</th>\n",
       "      <td>852,193,400</td>\n",
       "      <td>828,422,300</td>\n",
       "      <td>842,877,500</td>\n",
       "      <td>826,234,900</td>\n",
       "      <td>824,978,400</td>\n",
       "      <td>1,179,306,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>在建工程合计(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>21,085,400</td>\n",
       "      <td>184,440,700</td>\n",
       "      <td>272,211,700</td>\n",
       "      <td>463,424,600</td>\n",
       "      <td>454,643,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>固定资产+在建工程</th>\n",
       "      <td>852,193,400</td>\n",
       "      <td>849,507,700</td>\n",
       "      <td>1,027,318,200</td>\n",
       "      <td>1,098,446,600</td>\n",
       "      <td>1,288,403,000</td>\n",
       "      <td>1,633,949,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>资产合计(元)</th>\n",
       "      <td>6,415,202,500</td>\n",
       "      <td>7,926,615,200</td>\n",
       "      <td>9,455,361,500</td>\n",
       "      <td>10,651,922,600</td>\n",
       "      <td>12,457,568,300</td>\n",
       "      <td>13,906,035,200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>固定型资产占总资产的比率</th>\n",
       "      <td>13.28%</td>\n",
       "      <td>10.72%</td>\n",
       "      <td>10.86%</td>\n",
       "      <td>10.31%</td>\n",
       "      <td>10.34%</td>\n",
       "      <td>11.75%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       2016           2017           2018            2019  \\\n",
       "固定资产合计(元)       852,193,400    828,422,300    842,877,500     826,234,900   \n",
       "在建工程合计(元)                 0     21,085,400    184,440,700     272,211,700   \n",
       "固定资产+在建工程       852,193,400    849,507,700  1,027,318,200   1,098,446,600   \n",
       "资产合计(元)       6,415,202,500  7,926,615,200  9,455,361,500  10,651,922,600   \n",
       "固定型资产占总资产的比率         13.28%         10.72%         10.86%          10.31%   \n",
       "\n",
       "                        2020            2021  \n",
       "固定资产合计(元)        824,978,400   1,179,306,000  \n",
       "在建工程合计(元)        463,424,600     454,643,400  \n",
       "固定资产+在建工程      1,288,403,000   1,633,949,400  \n",
       "资产合计(元)       12,457,568,300  13,906,035,200  \n",
       "固定型资产占总资产的比率          10.34%          11.75%  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t4 = ana.init_table('t4')\n",
    "t4['固定资产+在建工程'] = t4.T[:2].sum()\n",
    "t4['固定型资产占总资产的比率'] = t4['固定资产+在建工程'] / t4['资产合计(元)']\n",
    "\n",
    "ana.format_show_table('t4')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x208a2b54c18>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "ana.show_plot('t4')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 输出分析报告"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "文档 [DEBT-002508-资产质量分析（2016~2021）.docx] 已输出到 [dist] 目录下。\n"
     ]
    }
   ],
   "source": [
    "# ReportDocument(ana).save()\n",
    "from analysis.utils import read_company_code\n",
    "\n",
    "start = ana.tables['t1'].index[0]\n",
    "end = ana.tables['t1'].index[-1]\n",
    "\n",
    "name = f\"DEBT-{read_company_code()}-资产质量分析（{start}~{end}）.docx\"\n",
    "doc = ReportDocument(ana, doc_name=name)\n",
    "doc.save()\n",
    "\n",
    "print(f\"文档 [{name}] 已输出到 [dist] 目录下。\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
